home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
001-025
/
scopedisk13
/
mg2a
/
amiga.doc
next >
Wrap
Text File
|
1995-03-18
|
20KB
|
502 lines
Amiga MG 2a Release Notes
-------------------------
This file attempts to document the Amiga-specific features of MG 2a.
Except where otherwise noted. It is assumed that you already know
about the point and the mark, buffers, windows, extended commands, and
the various areas on the screen that all versions of MG maintain. If
you don't, see the MG documentation (what there is of it) for more
information.
Amiga Credits
-------------
The Amiga Intuition terminal driver is the combined effort of Mike
Meyer and Mic Kaczmarczik. Others who helped and/or inspired good
ideas for the MG terminal driver include Steve Walton, Leon Frenkel,
Marcus Brooks, and Tom Rokicki. Steve Walton is also responsible for
the dired mode. Lastly, Bob Larson redesigned the MG keymap system,
making it possible for function keys and mouse clicks to be
``first-class citizens''.
OPTIONS
-------
This section is for people who have their own C compiler. If you
don't have a C compiler, you will hopefully have a version that has
everything compiled into it.
There are a bewildering variety of extra goodies available as
compile-time options when you construct an Amiga MG. If you select none
of them, you save on disk and memory space, but lose out on some
features and versatility.
The Makefile provides documentation on these options and what to do
to make them work, but here is a quick overview:
STARTUP -- You can configure MG so that it will look for a startup
file in either the current directory or the AmigaDOS s: (startup)
directory. An example startup file is included in the distribution,
and also see the STARTUP section below.
MENU -- If this option is used, MG puts an Intuition menu bar with
major editing commands at the top of the screen, just like a "real"
Amiga program. (See the section on the MENU for more info).
BROWSER -- This has got to be seen to be appreciated. The Browser
program turns the menu bar into a way to select files on a disk. First
you select a disk, then a directory on the disk, then a file or
subdirectory on the disk, and so on, all in the menu.
MOUSE -- This option turns on the Amiga hot mouse. You can click
on a character and move point to that spot, and that's just the
beginning. (See the MOUSE section for more.)
FKEYS -- This option turns on support for all the extra Amiga
function keys. This enables the HELP key, which runs the function
"describe-key-briefly". Arrow keys work -- shift-arrow keys apply to
words and paragraphs. (See the KEYBOARD section.)
NO_BACKUP -- This is actually a default option; #defining NO_BACKUP
disables backup files.
When chosen, this #define modifies the action of the save-buffer (C-x
C-s) command. Normally, save-buffer writes out a new copy of the buffer
to disk, thus destroying the contents of the original file. If BACKUP
is enabled, MG will rename the file to filename~ (with a tilde character
at the end), before the new copy is written out. This keeps the
next-to-last copy of your file around on disk, so you can recover from
bad mistakes.
To avoid filling up disk space too quickly, by default MG does *NOT*
make backup files; to do so, enter the command "M-x make-backup-files",
which enables making backup files the next time you enter C-x C-s to
save a file. If you give an argument to the function (by typing "C-u
M-x make-backup-files", for example), backup files are not made.
DO_METAKEY -- When this is enabled, Amiga MG uses the ALT key to
implement the META key found on some terminals. This means that you
can type ALT-f (in one keystroke) to go forward one word, instead of
ESC-f, which requires two.
CHANGE_FONT -- This allows you to set the font used by the Amiga
console device driver when it draws characters in the MG window.
For instance, this lets you use a slightly taller font for editing
when using interlace mode under 1.2. MG cannot handle proportionally
spaced fonts, but will allow you to use them (with rather confusing
results) if you really want to.
MODE_RENDITION, {TEXT,MODE}_{FG,BG} -- These are #defines that
determine the default rendition of the mode line and the foreground
and background colors of the text. See the COLOR section for more
info.
CHANGE_COLOR -- If you want to be able to mess around with the
foreground and background colors of the text window, this option
allows you to do that. You can also specify the way the status line is
rendered (plain, boldface, italics, or reverse video).
USE_ARP -- Amiga MG2a uses a few functions which are part of the
library for ARP, the AmigaDOS Replacement Project. Work-alikes for
these routines are provided for those without a copy of arp.library,
but as a future version of Amiga MG will require ARP and it has so
many other redeeming values, it is recommended you obtain a copy.
DO_ICONIFY -- This turns on the ``amiga-iconify'' function,
described in more detail below.
THE MOUSE
---------
The Amiga Mouse can invoke no less than 24 different functions.
Mouse clicks are essentially treated as keys by the MG, even though you
click the mouse and hold down qualifier keys to get them.
Mouse keys come in three groups of eight, the groups being:
Mouse keys -- when clicked in the text of a window
Mode-Mouse keys -- when clicked on a window's mode line
Echo-Mouse keys -- when clicked in the echo area
Inside each group, which of the eight keys you get is determined by
the combination of Shift, CTRL and ALT keys you are holding down when
the mouse button is pressed. So yes, there really is a
Ctrl-Meta-Shift-Mode-Mouse button. Note that the Meta (M-) prefix
*MUST* be the ALT key. Prefixing a mouse click with ESC will not work.
Mouse keys are generally bound to functions that affect the text in
the selected buffer. If the Intuition mouse pointer is located inside an
MG text window (i.e. an area where text is being edited), then a Mouse
key is sent to the editor when you click the mouse. The buffer
associated wth the window the pointer is in is made current, point is
set as close as possible to the pointer (the character under the
pointer, if possible), then the command bound to that mouse button is
executed.
If the mouse pointer is in the mode line - the line that is in a
different typeface (usually backlit, maybe black instead of white) --
when the mouse button is clicked, a Mode-Mouse key is sent to the
editor. The buffer that the selected status line is associated with is
made the current buffer, the point is set to the value of point for
that window, then whatever command is bound to that button is
executed. Most of the Mode-Mouse keys invoke functions that act on the
entire window or buffer.
Clicking in the echo line - the line at the bottom of the screen
where prompts and message appear - results in an Echo-Mouse key.
Whatever command is bound to that button will be executed. Since the
echo line is not part of a buffer or a window, all the functions bound
to Echo-Mouse keys affect the state of the editor as a whole.
The default bindings for the hot mouse (as distributed) are:
Qualifiers | Area clicked
|
C A Shift | Text window Mode line Echo line
-------------+---------------------------------------------------------
| dot to mouse forward page switch to other buffer
X | recenter backward page kill buffer
X | delete word split window describe key
X X | kill line delete window describe bindings
X | delete char goto bob suspend MG
X X | delete whitespace goto eob quit
X X | kill region enlarge window list buffers
X X X | yank shrink window toggle Intuition window
To help keep straight what the various keys do, notice that the
Status and Echo groups come in pairs; the shifted version of a key is in
some sense the opposite of the unshifted version. There is no opposite
for display-buffers, so that key is bound to "amiga-toggle-border",
which toggles MG' Intuition window between bordered and borderless.
Like any MG key, you are free to rebind the 24 mouse buttons to do
whatever you wish. You may even rebind them in your startup sequence.
NOTE: only functions that start with the prefix "mouse-" are able to
handle clicks in windows and mode lines, because they know how to figure
out where the mouse was clicked. Conversely, any non-mouse function may
be bound to an Echo-Mouse key, because clicking in the echo area does
not send the x,y click information to the function.
If the iconification code is compiled in, then Echo-Mouse is bound
to ``amiga-iconify'' by default.
THE KEYBOARD
------------
There is a shortcut for many of the Meta commands (usually indicated
by the ESC character): hold down the ALT key at the same time you type
what usually comes after the ESC.
Historically, this is why keys that are typed with ESC in front of
them are called META keys; on the terminals at MIT where the Emacs
editor (MG's spiritual parent) was originally written, there was a META
key on the keyboard that did what the ALT key does. However, not many
terminals outside of MIT have the META key at all, so the ESC key was
nominated as a way to tell the system that the next character should be
converted into a META key before it is interpreted.
MG also recognizes Amiga function keys. For quick help on a key,
type the HELP key and then the key you want help on. The following
commands are bound to the Amiga function keys:
Key Function
--------------------------------------------
Help describe-key-briefly
Left backward-char
Shift-Left backward-word
Right forward-char
Shift-Right forward-word
Up previous-line
Shift-Up backward-paragraph
Down next-line
Shift-Down forward-paragraph
F1 find-file
Shift-F1 find-file-other-window
F2 save-buffer
Shift-F2 write-file
F3 scroll-up (page down)
Shift-F3 scroll-down (page up)
F4 enlarge-window
Shift-F4 shrink-window
F5 fill-paragraph
Shift-F5 query-replace
F6 split-window-vertically
Shift-F6 delete-other-windows
F7 transpose-chars
Shift-F7 just-one-space
F8 start-kbd-macro
Shift-F8 end-kbd-macro
F9 call-last-kbd-macro
Shift-F9 describe-bindings
F10 list-buffers
Shift-F10 save-buffers-kill-emacs
FUNCTION KEY NAMES
------------------
On the Amiga, all the function keys are readily visible on the
keyboard, so this table of key names for use in strings is fairly
self-explanitory. If you want to rebind Shift-Down-Arrow to scroll-up
(move down a whole page), for example, insert the line
(global-set-key "\F5" 'scroll-up)
in your s:.mg file.
Amiga key Startup name
-------------------------------------------------------------------------
Up-Arrow \F0
Down-Arrow \F1
Left-Arrow \F2
Right-Arrow \F3
Shift-Up-Arrow \F4
Shift-Down-Arrow \F5
Shift-Left-Arrow \F6
Shift-Right-Arrow \F7
Help \F9
F1 \F12
F2 \F13
F3 \F14
F4 \F15
F5 \F16
F6 \F17
F7 \F18
F8 \F19
F9 \F20
F10 \F21
Shift-F1 \F22
Shift-F2 \F23
Shift-F3 \F24
Shift-F4 \F25
Shift-F5 \F26
Shift-F6 \F27
Shift-F7 \F28
Shift-F8 \F29
Shift-F9 \F30
Shift-F10 \F31
Mouse \F32
Ctrl-Mouse \F33
Shift-Mouse \F34
Shift-Ctrl-Mouse \F35
Meta-Mouse \F36
Meta-Ctrl-Mouse \F37
Meta-Shift-Mouse \F38
Meta-Shift-Ctrl-Mouse \F39
Mode-Mouse \F40
Ctrl-Mode-Mouse \F41
Shift-Mode-Mouse \F42
Shift-Ctrl-Mode-Mouse \F43
Meta-Mode-Mouse \F44
Meta-Ctrl-Mode-Mouse \F45
Meta-Shift-Mode-Mouse \F46
Meta-Shift-Ctrl-Mode-Mouse \F47
Echo-Mouse \F48
Ctrl-Echo-Mouse \F49
Shift-Echo-Mouse \F50
Shift-Ctrl-Echo-Mouse \F51
Meta-Echo-Mouse \F52
Meta-Ctrl-Echo-Mouse \F53
Meta-Shift-Echo-Mouse \F54
Meta-Shift-Ctrl-Echo-Mouse \F55
THE MENU
--------
If the menu option is compiled into the program, you can also use the
Intuition menu, just like any other well-written Amiga program. The menu
names are relatively self-explanitory, as are the names inside each
menu. If you want to learn what the command key is for a menu function,
use the command "apropos" (invoked by Ctrl-Backspace a), followed by a
substring of the menu item you're curious about.
THE BROWSER
-----------
The Browser is the next best (or even better, for some purposes)
thing to a file requester. Simply put, it places the directory tree up
in the menu bar, where you can visit files simply by selecting their
names from the menu bar. Try it, you'll like it. If the MENU option is
also compiled in, the editing menus are all submenus of the first,
"Edit" menu, and the Browser uses the rest of the menu bar.
WINDOW OPTIONS
--------------
As a service to those of us who want a full-size, 80-column editing
window on a 640x200 screen, Amiga MG allows you to make its window
borderless. If you like, you can take over the full Workbench screen (48
rows, 80 columns in interlace mode under 1.2). Borderless windows can be
"visually confusing", to quote the author of Intuition, so it's probably
best to either to 1) take over the whole screen or 2) put the MG window
at the bottom of the screen.
When Amiga MG starts up on a 640x200 screen, its initial window is
borderless, and 640x200 pixels in dimension. To change to a resizeable
window, issue the command "M-x amiga-toggle-border" or select the
"Toggle Window" subitem from the "Window" menu (if it is compiled into
the program). MG will create a new, resizeable, bordered window, which
you can then set to whatever size you wish using the sizing gadget in
the bottom left corner of the window.
To go back to a borderless window, issue the "Toggle Window" command
again. MG will remember the current size of the resizeable window, and
create a borderless window with the same dimensions and position. Since
under Workbench 1.2 you can use a 640x400 window, this lets you take up
the entire screen, 48 rows by 80 columns.
If you use MoreRows, MG will open up a resizeable window if there's
enough room on the screen for an 24 line by 80 column window.
CHANGING THE WINDOW'S FONT
--------------------------
There may be times when you'd like to use another font on the screen,
either to make the text easier to read, or for some special effect, like
editing something on a TV projection system. MG lets you change the
font that is used to draw characters in the window, using the command
"M-x amiga-set-font".
You can use the universal argument to set the desired text font size,
for example saying "C-u 12 M-x set-font", then typing "opal" when it
prompts you for the name of the font. If you give an argument that is
less than 0, MG resets the window's font to the system default (set by
Preferences). If you don't give an argument, MG prompts you for the
desired font size.
Changing the window's font to one that is designed to be
proportionally spaced does not work very well, because MG expects the
all characters on the screen to be the same width, which is of course
not the case with proportional fonts. MG lets you use proportional
fonts, but it asks you to make sure first.
TEXT RENDITION
--------------
If you really want to, you can change the "soft style" the console
device uses to draw characters in the text area and the mode line. The
possible values for these styles are:
0 plain
1 boldface
3 italic
4 underline
7 inverse
About the only useful values are the ones for plain, boldface or
italics. The default value for text is 0 (plain, of course), while the
default for the mode line is 7 (inverse video). These can be changed by
the appropriate #definitions of MODE_RENDITION and TEXT_RENDITION.
The commands to change the rendition values are:
amiga-text-rendition
Set text area rendition
amiga-mode-rendition
Set mode line rendition (this is by far the more useful)
COLOR
-----
You can set the colors the console device uses to draw the text you
are editing. (This does not mean that you can specify *any* color; your
choices are limited to the colors being used by Intuition to maintain
the Workbench screen.) The commands that control this behavior are:
amiga-text-foreground
Sets the color used to draw the characters you see in the
text area (distinct from the mode line area for each window).
Accepts a number from 0 to 7. The value initially used is 1.
You can get a reverse video screen by selecting 0 for this
value and 1 for the background color
amiga-text-background
Sets the color used the draw the background behind characters
in the text area. Accepts the same values as
amiga-text-foreground. The initial value is 0.
amiga-mode-foreground
Sets the foreground color used by the mode line. If you
set this to 0 and the background color to 1, you can get
a reverse video mode line even when you select italics for
the mode line rendition (see RENDITION)
amiga-mode-background
Sets the background color for the mode line. You should
get the idea by now.
ICONIFICATION
-------------
Leo Schwab wrote a set of very general routines for allowing an
Amiga program to shrink its window to an icon. This icon can then be
moved around on the screen, and re-expanded to its full size by a
double click, like the one used to open a drawer. Amiga MG2a
provides this capability through the function ``amiga-iconify'',
which is bound to Echo-Mouse by default if the iconification code is
present. Not only is this a great way to prevent screen clutter, but
it also frees 50K of CHIP RAM while MG's window is iconified (on a 30
line by 80 column mg window).
To iconify the window, click the mouse in MG's echo line or issue
the extended command ``amiga-iconify.'' To expand MG's window back
to its full size, double-click on the MG2a icon in the same way you
would on a disk or drawer icon. The icon can also be dragged
about, and will remember its last position when the window is
iconified again.
FUNCTION LIST
-------------
For completeness, here is a list of all Amiga MG functions that are
specific to the Amiga.
amiga-iconify
Iconifies the Amiga MG window.
amiga-menu
The entry point for using MG's Intuition menu. This function
figures out which menu selection was used, then calls the
appropriate function by name (not hard-coded key value)
amiga-mouse
Set dot to where the mouse is pointing. Two clicks in the same
spot set the mark too.
mouse-*
Functions that first either 1) move point to where the mouse
points to or 2) select the buffer associated with the mode line
the mouse clicked in, then call the function indicated by the
rest of the name. These functions are all "bound" to various
mouse click keys.
amiga-set-font
Set the font used to draw characters inside the MG window.
A positive argument is used for the size of the font, while
a nonpositive argument requests that the font be set to the
system default font. Menu items are not affected by this command.
amiga-mode-rendition
amiga-text-rendition
Set the way your text (or the mode line) is rendered. Choose
from 0 (plain), 1 (bold), 3 (italic), 4 (underline), or
7 (reverse video). 0, 1, and 3 are about the only really useful
ones for text; 7 is the default for the mode line.
amiga-text-foreground
amiga-text-background
amiga-mode-foreground
amiga-mode-background
Set the system color used to draw the characters in the text area
and mode line. Accepts a value between 0 and 7; the default for
the background is 0, the default for the text is 1.
amiga-toggle-border
Switch your window between resizable and borderless. Lets you
take over the whole screen (80 columns! 48 lines in interlace!)